package com.home.cop.employee.service;

import com.github.pagehelper.PageInfo;
import com.home.cop.employee.model.Employee;

import java.util.List;
import java.util.Map;

public interface EmployeeService {

    /**
     * 根据电话号码获取员工
     * @param phone
     * @return
     */
    public List<Employee> getEmployeeByPhone(String phone);

    /**
     * 根据用户账号密码登录
     * @param account
     * @param pwd
     * @return
     */
    public Employee getEmployee(String account,String pwd);

    /**
     * 按照条件筛选员工列表
     * @param params
     * @param pageNum
     * @param pageSize
     * @return
     */
    public PageInfo<Employee> list(Map<String,Object> params,Integer pageNum,Integer pageSize);

    /**
     * 删除员工
     * @param account
     */
    public void deleteEmployee(String account);

    /**
     * 新增员工
     * @param employee
     */
    public void insert(Employee employee);

    /**
     * 修改员工信息
     * @param employee
     */
    public void updateInfo(Employee employee);

    /**
     * 启用禁用员工
     * @param account
     * @param status
     */
    public void updateStatus(String account,Integer status);

    /**
     * 修改员工密码
     * @param account
     * @param pass
     */
    public void updatePass(String account,String pass);

    /**
     * 根据角色编号获取员工数量
     * @param roleId
     * @return
     */
    public Integer countEmployeeByRole(String roleId);

    /**
     * 获取机构下的员工列表
     * @param instId
     * @return
     */
    public List<Employee> getEmployeeByInstId(Integer instId);
}
